4bad650d63b30037922aebe8feff176beee300c1,android_honeycomb_mr2/src/org/ros/android/views/visualization/layer/PosePublisherLayer.java,PosePublisherLayer,onTouchEvent,#VisualizationView#MotionEvent#,76
Before Change
if (visible) {
Preconditions.checkNotNull(pose);
if (event.getAction() == MotionEvent.ACTION_MOVE) {
pose.setRotation(Quaternion.rotationBetweenVectors(
new Vector3(1, 0, 0),
camera.toWorldCoordinates(new Point((int) event.getX(), (int) event.getY()))
.subtract(pose.getTranslation())));
shape.setTransform(pose);
requestRender();
return true;
After Change
Vector3 orientationVector =
camera.toWorldCoordinates(new Point((int) event.getX(), (int) event.getY())).subtract(
pose.getTranslation());
if (orientationVector.length() > 0) {
pose.setRotation(Quaternion.rotationBetweenVectors(new Vector3(1, 0, 0),
orientationVector));
} else {
pose.setRotation(Quaternion.newIdentityQuaternion());
}